using System;
using System.Collections.Generic;
using ns26;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("AdventureDef")]
	public class AdventureDef : MonoBehaviour
	{
		public enum BannerRewardType
		{
			AdventureCompleteReward,
			BannerManagerPopup
		}

		public BannerRewardType m_BannerRewardType => method_2<BannerRewardType>("m_BannerRewardType");

		public string m_BannerRewardPrefab => method_4("m_BannerRewardPrefab");

		public string m_AdventureCompleteQuotePrefab => method_4("m_AdventureCompleteQuotePrefab");

		public string m_AdventureCompleteQuoteVOLine => method_4("m_AdventureCompleteQuoteVOLine");

		public string m_WingBottomBorderPrefab => method_4("m_WingBottomBorderPrefab");

		public string m_DefaultQuotePrefab => method_4("m_DefaultQuotePrefab");

		public string m_ChooserButtonPrefab => method_4("m_ChooserButtonPrefab");

		public string m_ChooserSubButtonPrefab => method_4("m_ChooserSubButtonPrefab");

		public string m_Texture => method_4("m_Texture");

		public Vector2 m_TextureTiling => method_2<Vector2>("m_TextureTiling");

		public Vector2 m_TextureOffset => method_2<Vector2>("m_TextureOffset");

		public AdventureDbId m_AdventureId => method_2<AdventureDbId>("m_AdventureId");

		public string m_AdventureName => method_4("m_AdventureName");

		public int m_SortOrder => method_2<int>("m_SortOrder");

		public AdventureDef(IntPtr address, string className)
			: base(address, className)
		{
		}

		public AdventureDef(IntPtr address)
			: this(address, "AdventureDef")
		{
		}

		public AdventureDbId GetAdventureId()
		{
			return method_11<AdventureDbId>("GetAdventureId", Array.Empty<object>());
		}

		public string GetAdventureName()
		{
			return method_13("GetAdventureName");
		}

		public AdventureSubDef GetSubDef(AdventureModeDbId modeId)
		{
			return method_14<AdventureSubDef>("GetSubDef", new object[1] { modeId });
		}

		public List<AdventureSubDef> GetSortedSubDefs()
		{
			return method_14<Class271<AdventureSubDef>>("GetSortedSubDefs", Array.Empty<object>())?.method_25();
		}

		public int GetSortOrder()
		{
			return method_11<int>("GetSortOrder", Array.Empty<object>());
		}

		public bool IsActiveAndPlayable()
		{
			return method_11<bool>("IsActiveAndPlayable", Array.Empty<object>());
		}
	}
}
